// ajax函数
// 参数1：对象      {}
/*
    对象
        {
            url: String,                    // 必填    
            type: String,                   // 默认 get
            data: Object,                   // 默认 {}
            success: Function,              // 非必填
            async: Boolean,                 // 默认 true
            header: Object                  // 默认 { Content-Type: 'application/x-www-form-urlencoded'}         // { Content-Type: 'application/json' }
        }
*/
function ajax(options) {
    let xhr = new XMLHttpRequest()

    // 设置默认值
    options.type = options.type || 'get'
    options.async = options.async || true
    options.header = options.header || {
        'Content-Type': 'application/x-www-form-urlencoded'
    }

    // console.log(options.type)
    let arr = []

    for (let attr in options.data) {
        arr.push(attr + '=' + options.data[attr])
    }

    // console.log(arr)
    let str = arr.join('&')
    // console.log(str)

    // 判断是post还是get
    if (options.type === 'get') {
        xhr.open('get', options.url + '?' + str, options.async)
        xhr.send()
    } else {
        xhr.open('post', options.url, options.async)
        // 设置请求头
        for (let attr in options.header) {
            xhr.setRequestHeader(attr, options.header[attr])
        }
        // xhr.setRequestHeader('Content-Type', 'application/json')
        xhr.send(str)
    }


    xhr.onload = function () {
        // 后台来的所有数据都是字符串
        // console.log(xhr.responseText)
        // let obj = JSON.parse(xhr.responseText)
        // console.log(obj)

        // 把拿到的数据返回给 调用函数的人
        // 回调函数
        if (options.success) {
            options.success(xhr.responseText)
        }
    }
}